<?php


/**
 *
 * @SWG\Get(
 *     path="/all_info",
 *     tags={"equipment"},
 *     summary="首页获取车道所有计算机和运行数据",
 *     description="首页获取车道所有计算机和运行数据（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */

/**
 *
 * @SWG\Get(
 *     path="/item_info/{ip}",
 *     tags={"equipment"},
 *     summary="根据ip(uuid)获取其计算机和运行数据",
 *     description="根据ip(uuid)获取其计算机和运行数据（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *     @SWG\Parameter(
 *        name = "ip",
 *        description = "uuid",
 *        in = "path",
 *        type = "string",
 *        required = true
 *    ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */


/**
 *
 * @SWG\Get(
 *     path="/line",
 *     tags={"equipment"},
 *     summary="线路列表",
 *     description="获取线路列表（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */


/**
 * --- .add line start ---
 * @SWG\Post(
 *    path="/line_add",
 *    tags={"equipment"},
 *    summary="添加/编辑线路",
 *    description="添加/编辑线路",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *    @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "name",
 *        description = "线路名称",
 *        in = "formData",
 *        type = "string",
 *        required = true
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "status",
 *        description = "线路状态 1启用0禁用-1删除",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .add line  end ---
 */

/**
 *
 * @SWG\Get(
 *     path="/station",
 *     tags={"equipment"},
 *     summary="获取所有站点列表",
 *     description="获取所有站点列表（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */


/**
 *
 * @SWG\Get(
 *     path="/station/{line_id}",
 *     tags={"equipment"},
 *     summary="根据线路id或者站点列表",
 *     description="获取站点列表（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *    @SWG\Parameter(
 *        name = "line_id",
 *        description = "线路id",
 *        in = "path",
 *        type = "integer",
 *        required = true
 *    ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */


/**
 * --- .add station start ---
 * @SWG\Post(
 *    path="/station_add",
 *    tags={"equipment"},
 *    summary="添加/编辑站点",
 *    description="添加/编辑站点",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "name",
 *        description = "站点名称",
 *        in = "formData",
 *        type = "string",
 *        required = true
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "status",
 *        description = "线路状态 1启用0禁用-1删除",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "line_id",
 *        description = "线路id",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .add station  end ---
 */

/**
 *
 * @SWG\Get(
 *     path="/lane",
 *     tags={"equipment"},
 *     summary="获取所有车道列表",
 *     description="获取所有车道列表（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */

/**
 *
 * @SWG\Get(
 *     path="/lane/{station_id}",
 *     tags={"equipment"},
 *     summary="根据站点id获取车道列表",
 *     description="根据站点id获取车道列表和计算机信息（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *    @SWG\Parameter(
 *        name = "station_id",
 *        description = "站点id",
 *        in = "path",
 *        type = "integer",
 *        required = true
 *    ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 *
 */


/**
 * --- .add lane start ---
 * @SWG\Post(
 *    path="/lane_add",
 *    tags={"equipment"},
 *    summary="添加/编辑车道",
 *    description="添加/编辑车道",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *   @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *    @SWG\Parameter(
 *        name = "station_id",
 *        description = "站点id",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ) ,
 *
 *    @SWG\Parameter(
 *        name = "name",
 *        description = "车道名称",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "status",
 *        description = "车道状态 1启用0禁用-1删除",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "station_id",
 *        description = "站点id",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .add station  end ---
 */

/**
 *
 * @SWG\Get(
 *     path="/computer/{type}/{id}",
 *     tags={"equipment"},
 *     summary="获取车道计算机详情",
 *     description="根据站点id获取计算机详情（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *    @SWG\Parameter(
 *        name = "type",
 *        description = "类型1：线路2站点",
 *        in = "path",
 *        type = "integer",
 *        required = true
 *    ),
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "id：1线路id,2站点id",
 *        in = "path",
 *        type = "integer",
 *        required = true
 *    ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 *
 */


/**
 * --- .add computer start ---
 * @SWG\Post(
 *    path="/computer_add",
 *    tags={"equipment"},
 *    summary="添加计算机",
 *    description="从mongodb获取已有的计算机数据后和站点/车道业务关联（通过ip关联）",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *   @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *       @SWG\Parameter(
 *        name = "line_id",
 *        description = "线路",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
*      @SWG\Parameter(
 *        name = "station_id",
 *        description = "站点id",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *      @SWG\Parameter(
 *        name = "lane_id",
 *        description = "车道ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "name",
 *        description = "计算机备注名称",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *      @SWG\Parameter(
 *        name = "ip",
 *        description = "计算机IP",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "remote_username",
 *        description = "远程登录用户名",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "remote_password",
 *        description = "远程登录密码",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *     @SWG\Parameter(
 *        name = "protocol",
 *        description = "远程登录连接方式[选择vnc和rdp，默认vnc]",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *
 *
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .add station  end ---
 */

/**
 * --- .edit computer start ---
 * @SWG\Post(
 *    path="/computer_edit",
 *    tags={"equipment"},
 *    summary="编辑计算机",
 *    description="从mongodb获取已有的计算机数据后和站点/车道业务关联（通过ip关联）",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *   @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Parameter(
 *        name = "_id",
 *        description = "id",
 *        in = "formData",
 *        type = "string",
 *        required = true
 *    ),
 *       @SWG\Parameter(
 *        name = "line_id",
 *        description = "线路",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *      @SWG\Parameter(
 *        name = "station_id",
 *        description = "站点id",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *      @SWG\Parameter(
 *        name = "lane_id",
 *        description = "车道ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "id",
 *        description = "ID",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "name",
 *        description = "计算机备注名称",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *      @SWG\Parameter(
 *        name = "ip",
 *        description = "计算机IP",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "remote_username",
 *        description = "远程登录用户名",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "remote_password",
 *        description = "远程登录密码",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *    @SWG\Parameter(
 *        name = "protocol",
 *        description = "远程登录连接方式[选择vnc和rdp，默认vnc]",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *
 *      @SWG\Parameter(
 *        name = "status",
 *        description = "计算机状态 1启用0禁用-1删除",
 *        in = "formData",
 *        type = "integer",
 *        required = false
 *    ),
 *
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .edit station  end ---
 */


/**
 *
 * @SWG\Get(
 *     path="/computer/delete/{id}",
 *     tags={"equipment"},
 *     summary="删除设备",
 *     description="删除设备",
 *     produces={"application/json"},
 *
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Parameter(
 *        in = "path",
 *        name = "id",
 *        description = "id",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#ErrorDefault")
 *     )
 * )
 *
 *  --- .end start ---
 */

/**
 * --- .send command start ---
 * @SWG\Post(
 *    path="/control",
 *    tags={"equipment"},
 *    summary="发送重启和关机指令",
 *    description="发送重启和关机指令",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *   @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *       @SWG\Parameter(
 *        name = "ip",
 *        description = "ip",
 *        in = "formData",
 *        type = "string",
 *        required = true
 *    ),
 *      @SWG\Parameter(
 *        name = "command",
 *        description = "指令,只有[restart]和[shutdown]两个固定指令",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .send   end ---
 */



/**
 *
 * @SWG\Get(
 *     path="/devices",
 *     tags={"equipment"},
 *     summary="从mongodb获取已有的计算机数据",
 *     description="从mongodb获取已有的计算机数据（成功数据请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 *
 */


/**
 *
 * @SWG\Get(
 *     path="/process_info/{ip}",
 *     tags={"equipment"},
 *     summary="根据设备ID获取获取其计算机重点进程数据",
 *     description="根据设备ID获取获取其计算机重点进程数据（成功示例请执行）",
 *     produces={"application/json"},
 *     @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *     @SWG\Parameter(
 *        name = "ip",
 *        description = "uuid",
 *        in = "path",
 *        type = "string",
 *        required = true
 *    ),
 *
 *     @SWG\Response(
 *         response = 200,
 *         description = "success",
 *         @SWG\Schema(ref="#/definitions/SuccessDefault")
 *     ),
 *
 *     @SWG\Response(
 *         response = 400,
 *         description = "请求失败， http code 强行转为200,通过code判断",
 *         @SWG\Schema(ref="#/definitions/ErrorDefault")
 *     )
 * )
 */


/**
 * --- .devices_process start ---
 * @SWG\Post(
 *    path="/devices_process",
 *    tags={"equipment"},
 *    summary="添加/编辑计算机进程",
 *    description="添加/编辑计算机需要监控进程",
 *    produces={"application/json"},
 *     consumes={"application/x-www-form-urlencoded", "application/json"},
 *
 *    @SWG\Parameter(
 *        in = "header",
 *        name = "X-Api-Token",
 *        description = "token",
 *        required = true,
 *        type = "string"
 *     ),
 *
 *    @SWG\Parameter(
 *        name = "ip",
 *        description = "ip",
 *        in = "formData",
 *        type = "string",
 *        required = true
 *    ),
 *
 *    @SWG\Parameter(
 *        name = "process",
 *        description = "进程数组['wechat','chrome'...]",
 *        in = "formData",
 *        type = "string",
 *        required = false
 *    ),
 *
 *    @SWG\Response(
 *        response = "200",
 *        description = "success",
 *        @SWG\Schema(ref="#/definitions/SuccessDefault")
 *    ),
 *
 *    @SWG\Response(
 *        response = "default",
 *        description = "请求失败， http status 强行转为200, 通过code判断",
 *        @SWG\Schema(ref="#/definitions/ErrorDefault")
 *    )
 * )
 * --- .devices_process  end ---
 */